<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 从根目录下访问vue.js -->
    <script type="text/javascript" src="/js/vue.js"></script>
    <script type="text/javascript">
        Vue.config.productionTip = false  //阻止 vue 在启动时生成生产提示。
    </script>
</head>

<body>
    <div id="app">

    </div>
</body>

</html>



<script type="text/javascript">

    Vue.component('hhm-post', {
        porps: {
            // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
            propA: Number,

            // 多个可能的类型
            propB: [String, Number],

            // 必填的字符串
            propC: {
                type: String,
                required: true
            },

            // 带有默认值的数字
            propD: {
                type: Number,
                defalut: 666
            },

            // 带有默认值的对象
            propE: {
                type: Object,
                // 对象或数组默认值必须从一个工厂函数获取
                default: function () {
                    return {
                        message: "hello!"
                    }
                }
            },

            // 自定义验证函数
            propF: {
                // 我要实现：传入的value值必须匹配方法中的几个字符串
                //这里用到了数组的includes方法
                validator: function(value){
                    return ['success', 'warning', 'danger'].includes(value)
                }
            }

        }
    })

    new Vue({
        el: "#app",
        data: {

        }
    })
</script>